package com.design;

/**
 * 支付模板
 */
public abstract class PayTemplate {
    /***
     * 支付订单
     * */
    public final void payOrder(){
        checkOrder();
        pay();
        payCallBack();
        updateOrder();
        sendMessage();
    }
    /**
     * 检测订单
     * */
    void checkOrder(){
        System.out.println("检测订单。。。。。");
    }
    /**
     * 支付
     * */
    abstract void  pay();
    /***
     * 支付回调
     * */
    abstract void payCallBack();
     /**
      * 更新订单
      * */
    void updateOrder(){
        System.out.println("更新订单。。。。。");
    }
    void sendMessage(){
        System.out.println("发送消息。。。。。");
    }
}
